import dayjs from 'dayjs';
// import 'dayjs/locale/zh-cn';
import relativeTime from 'dayjs/plugin/relativeTime';

// 拓展 from插件
dayjs.extend(relativeTime);

import config from '@/common/config.js';

export { dayjs };
/**
 * 格化式日期工具
 * @param {*} value  日期时间
 * @param {*} fmt
 */
export const formatTime = (value, fmt = config.data.format) => {
  if (!value) return '';
  return dayjs(value).format(fmt);
};

/**
 * fromNow工具方法
 * @param {*} value  日期时间
 * @param {*} withoutSuffix 是否删除后缀
 *
 * @examples
 *
 *  1. formNow('2020-03-04 14:43:00')    => 30秒前
 *
 *  2. formNow('2020-03-04 14:43:00')    => 30秒
 * 
 * 输出示例：
  范围	             键值	         示例输出
  0  到 44 秒	        s	          几秒前
  45 到 89 秒	        m	          1 分钟前
  90 秒 到 44 分	    mm	        2 分钟前 ... 44 分钟前
  45 到 89 分	        h	          1 小时前
  90 分 到 21 小时	  hh	         2 小时前 ... 21 小时前
  22 到 35 小时	      d	          1 天前
  36 小时 到 25 天	  dd	         2 天前 ... 25 天前
  26 到 45 天	        M	          1 个月前
  46 天 到 10 月	    MM	         2 个月前 ... 10 个月前
  11 月 到 17 月	    y	          1 年前
  18 月以上	          yy	        2 年前 ... 20 年前
 */
export const fromNow = (value, withoutSuffix = false) => {
  if (!value) return '';
  return dayjs(value).fromNow(!!withoutSuffix);
};

/**
 *  返回当前时间是当日的什么时候
 *    主要分为 6个时间段 0 - 4 4- 7....
 * @returns {string}
 * @param time
 */
export const showHelloTime = time => {
  let time_format = '';
  if (time == undefined) {
    time = new Date();
  }
  let hr = time.getHours();
  if (hr >= 0 && hr <= 4) time_format = '深夜了，注意身体，';
  if (hr >= 4 && hr < 7) time_format = '清晨好， ';
  if (hr >= 7 && hr < 12) time_format = '早安，';
  if (hr >= 12 && hr <= 13) time_format = '午饭时间到了，';
  if (hr >= 13 && hr <= 17) time_format = '下午好，';
  if (hr >= 17 && hr <= 18) time_format = '进入傍晚了，';
  if (hr >= 18 && hr <= 20) time_format = '吃过晚饭了吗，';
  if (hr >= 20 && hr <= 24) time_format = '在加班吗？辛苦了，';
  return time_format;
};
